#pragma once
#ifndef GRAPHICS_DEF_H
#define GRAPHICS_DEF_H

#include "Math\Vector2.h"

#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE)

struct CUSTOMVERTEX
{
    float x, y, z;
    DWORD color;
    static unsigned int getFlags()
    {
   		return D3DFVF_CUSTOMVERTEX;
    }
};

#define D3DFVF_CUSTOMVERTEX2 (D3DFVF_XYZ|D3DFVF_TEX1)
struct CUSTOMVERTEX2
{
    D3DXVECTOR3 pos;
    DWORD color;
    static unsigned int getFlags()
    {
   		return D3DFVF_CUSTOMVERTEX;
    }
};
struct SRectangle2D
{
    Vect2f    m_vBottomLeft;
    Vect2f    m_vTopRight;
};

typedef enum ETypeAlignment { CENTER, UPPER_LEFT, UPPER_RIGHT, LOWER_LEFT, LOWER_RIGHT };

struct SCREEN_COLOR_VERTEX
{
    float x, y, z, w;
    DWORD color;
	float u, v;
    static unsigned int getFlags()
    {
   	 return(D3DFVF_XYZRHW|D3DFVF_DIFFUSE|D3DFVF_TEX1);
    }
};

#endif